using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Comteck.Idsr4;

namespace Comteck.Winforms {
  /// <summary>
  /// APP设置
  /// </summary>
  public class AppFormSettings : IdentityRequest {

    #region 通用信息

    /// <summary>
    /// 客户识别码
    /// </summary>
    public string Tenant_Code { get; set; }

    /// <summary>
    /// 客户识别码名称
    /// </summary>
    public string Tenant_Name { get; set; }

    /// <summary>
    /// Ras公钥
    /// </summary>
    public string RSA_Public_Key { get; set; }

    ///// <summary>
    ///// 界面效果 1新界面 0原界面
    ///// </summary>
    //public int SkinMode { get; set; } = 0;

    /// <summary>
    /// 产品类型
    /// </summary>
    public virtual int Product_Type_Id { get; set; } = 0;

    /// <summary>
    /// 产品类型名称
    /// </summary>
    public virtual string Product_Type_Name { get; set; }

    #endregion

    #region 登录信息 （以下几项放到本地数据库中）

    ///// <summary>
    ///// 是否显示窗体名称
    ///// </summary>
    //public int ShowFormName { get; set; } = 0;

    ///// <summary>
    ///// 登陆账号
    ///// </summary>
    //public string Login_UserName { get; set; }

    ///// <summary>
    ///// 登陆密码
    ///// </summary>
    //public string Login_Password { get; set; }

    ///// <summary>
    ///// 登陆组织
    ///// </summary>
    //public long Login_OrgId { get; set; }

    ///// <summary>
    ///// 登陆组织
    ///// </summary>
    //public int Login_RememberMe { get; set; }

    #endregion

    #region 微服务 信息

    /// <summary>
    /// 微服务 统一网关地址
    /// </summary>
    public string GatewayUrl { get; set; }

    /// <summary>
    /// 微服务 统一网关地址
    /// </summary>
    public string AppName_Identity { get; set; }

    ///// <summary>
    ///// 微服务 统一网关地址
    ///// </summary>
    //public string AppName_Common { get; set; }

    /// <summary>
    /// 微服务 统一网关地址
    /// </summary>
    public string AppName_Archives { get; set; }

    /// <summary>
    /// 微服务 统一消息中心
    /// </summary>
    public string AppName_HubCenter { get; set; }

    /// <summary>
    /// 微服务 统一消息中心 Hub(WebSockets)
    /// </summary>
    public string AppName_HubCenter_Name { get; set; }

    ///// <summary>
    ///// 微服务 统一消息中心 Hub(非WebSockets)
    ///// </summary>
    //public string AppName_HubCenter_NoWebSockets_Name { get; set; }

    /// <summary>
    /// 微服务 供应链中心
    /// </summary>
    public string AppName_Supply { get; set; }

    /// <summary>
    /// 微服务 统一会员地址
    /// </summary>
    public string AppName_Customer { get; set; }

    /// <summary>
    /// 微服务 统一营销中心地址
    /// </summary>
    public string AppName_Market { get; set; }

    /// <summary>
    /// 微服务 统一销售中心地址
    /// </summary>
    public string AppName_Sales { get; set; }

    /// <summary>
    /// 微服务 库存仓储中心
    /// </summary>
    public string AppName_Storages { get; set; }

    /// <summary>
    /// 微服务 计划任务管理
    /// </summary>
    public string AppName_Schedules { get; set; }

    /// <summary>
    /// 微服务 合同财务
    /// </summary>
    public string AppName_Finances { get; set; }

    /// <summary>
    /// 微服务 报表中心
    /// </summary>
    public string AppName_Reports { get; set; }

    /// <summary>
    /// 微服务 多渠道中心
    /// </summary>
    public string AppName_MultiChannel { get; set; }

    /// <summary>
    /// 微服务 财务系统
    /// </summary>
    public string AppName_FinancesSystem { get; set; }
    /// <summary>
    /// 微服务 订货服务
    /// </summary>
    public string AppName_OrderSystems { get; set; }
    /// <summary>
    /// 微服务 大数据
    /// </summary>
    public string AppName_DWH { get; set; }
    /// <summary>
    /// 微服务 数仓报表
    /// </summary>
    public string AppName_BigData { get; set; }
    #endregion

    #region 其他

    /// <summary>
    /// SignalR重连监听时间，单位秒
    /// </summary>
    public int SignalR_Interval { get; set; } = 1;

    /// <summary>
    /// Web重连监听时间，单位秒
    /// </summary>
    public int Web_Interval { get; set; } = 1 * 60;

    /// <summary>
    /// 档案数据同步间隔时间，单位：分
    /// </summary>
    public int LocalData_Interval { get; set; } = 5;

    /// <summary>
    /// 档案数据同步间隔时间，单位：秒
    /// </summary>
    public int GC_Collect_Interval { get; set; } = 30;

    /// <summary>
    /// 自动更新程序名称
    /// </summary>
    public string UpdateProgramName { get; set; }

    /// <summary>
    /// 当前版本号
    /// </summary>
    public string Version { get; set; }

    /// <summary>
    /// identityserver4 token刷新时间间隔
    /// </summary>
    public TimeSpan TokenRefresh_Interval { get; set; }

    /// <summary>
    /// dev皮肤名称
    /// </summary>
    public virtual string Dev_SkinName { get; set; }

    /// <summary>
    /// Logo路径
    /// </summary>
    public string LogoPath { get; set; }

    #endregion
  }
}
